/**
 * # 模块 Api 类:
 *  Organization - 组织架构管理
 * 
 * # 描述:
 *  向系统管理人员提供组织结构、部门以及岗位的管理功能，包括为组织、部门或岗位添加用户，以及设置组织、部门或岗位的权限。
 *  
 * Copyright (c), 上海沃恩信息科技有限公司.
 * All rights reserved.
 * Licensed under BSD (https://www.pittypat.work/bsd.html).
 */

package com.waln.authority.organization;

/**
 * 提供对模块 组织架构管理 中功能的封装和调用。
 */
@pittypat.ModuleAnnotation(presentation = pittypat.ModulePresentation.UI, allowAnonymous = false)
public final class Api extends pittypat.Module {
	/**
	 * 查询系统中创建的所有根组织的列表。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 根组织列表，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson orgs(pittypat.FunctionModel<com.waln.authority.organization.args.Orgs> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回根组织列表
		return model.isSuccess() ? model.getArgs().list : null;
	}

	/**
	 * 添加一个根组织机构。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 新创建的根组织，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson addOrg(pittypat.FunctionModel<com.waln.authority.organization.args.AddOrg> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回新创建的根组织
		return model.isSuccess() ? model.getArgs().org : null;
	}

	/**
	 * 设置指定的组织机构的信息。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 组织机构信息，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson editOrg(pittypat.FunctionModel<com.waln.authority.organization.args.EditOrg> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回组织机构信息
		return model.isSuccess() ? model.getArgs().org : null;
	}

	/**
	 * 删除一个指定的根组织，其中包含所有部门、岗位都会被删除，但是用户账号不会被删除。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 没有输出参数，默认总是返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson deleteOrg(pittypat.FunctionModel<com.waln.authority.organization.args.DeleteOrg> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// model.getArgs() 没有定义输出参数
		return null;
	}

	/**
	 * 查询隶属于指定部门或组织的下级部门、工作岗位和用户的列表。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回所有输出参数的字典，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson deptChildren(pittypat.FunctionModel<com.waln.authority.organization.args.DeptChildren> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回所有输出参数的字典
		return model.isSuccess() ? model.getOutArgs() : null;
	}

	/**
	 * 为组织或一个上级部门添加一个下级部门。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 新添加的部门，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson addDept(pittypat.FunctionModel<com.waln.authority.organization.args.AddDept> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回新添加的部门
		return model.isSuccess() ? model.getArgs().dept : null;
	}

	/**
	 * 设置指定部门的资料信息。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 部门信息，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson editDept(pittypat.FunctionModel<com.waln.authority.organization.args.EditDept> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回部门信息
		return model.isSuccess() ? model.getArgs().dept : null;
	}

	/**
	 * 删除一个指定的部门，隶属其中的下级部门和工作岗位都将被删除，但是用户账号不会被删除。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 没有输出参数，默认总是返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson deleteDept(pittypat.FunctionModel<com.waln.authority.organization.args.DeleteDept> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// model.getArgs() 没有定义输出参数
		return null;
	}

	/**
	 * 为指定的组织或部门添加一个工作岗位。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 工作岗位信息，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson addPost(pittypat.FunctionModel<com.waln.authority.organization.args.AddPost> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回工作岗位信息
		return model.isSuccess() ? model.getArgs().post : null;
	}

	/**
	 * 设置指定工作岗位的信息。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 工作岗位信息，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson editPost(pittypat.FunctionModel<com.waln.authority.organization.args.EditPost> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回工作岗位信息
		return model.isSuccess() ? model.getArgs().post : null;
	}

	/**
	 * 删除一个工作岗位，不会删除属于该工作岗位的用户账号。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 没有输出参数，默认总是返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson deletePost(pittypat.FunctionModel<com.waln.authority.organization.args.DeletePost> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// model.getArgs() 没有定义输出参数
		return null;
	}

	/**
	 * 添加一个新的用户账号。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 新用户，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson newUser(pittypat.FunctionModel<com.waln.authority.organization.args.NewUser> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回新用户
		return model.isSuccess() ? model.getArgs().user : null;
	}

	/**
	 * 按用户名、登录名、编号、手机或邮件搜索用户列表。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回所有输出参数的字典，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson searchDeptUsers(
			pittypat.FunctionModel<com.waln.authority.organization.args.SearchDeptUsers> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回所有输出参数的字典
		return model.isSuccess() ? model.getOutArgs() : null;
	}

	/**
	 * 为指定的部门添加一个或多个用户账号。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 用户列表，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson addDeptUsers(pittypat.FunctionModel<com.waln.authority.organization.args.AddDeptUsers> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回用户列表
		return model.isSuccess() ? model.getArgs().users : null;
	}

	/**
	 * 查询隶属于指定工作岗位的用户的列表。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 用户列表，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson postUsers(pittypat.FunctionModel<com.waln.authority.organization.args.PostUsers> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回用户列表
		return model.isSuccess() ? model.getArgs().list : null;
	}

	/**
	 * 按用户名、登录名、编号、手机或邮件搜索用户列表。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回所有输出参数的字典，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson searchPostUsers(
			pittypat.FunctionModel<com.waln.authority.organization.args.SearchPostUsers> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回所有输出参数的字典
		return model.isSuccess() ? model.getOutArgs() : null;
	}

	/**
	 * 为指定的岗位添加一个或多个用户。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 用户列表，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson addPostUsers(pittypat.FunctionModel<com.waln.authority.organization.args.AddPostUsers> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回用户列表
		return model.isSuccess() ? model.getArgs().users : null;
	}

	/**
	 * 设置指定岗位或部门中的一个用户的备注描述信息。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 用户信息，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson editUser(pittypat.FunctionModel<com.waln.authority.organization.args.EditUser> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回用户信息
		return model.isSuccess() ? model.getArgs().info : null;
	}

	/**
	 * 移除指定岗位或部门中的一个用户。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 没有输出参数，默认总是返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson removeUser(pittypat.FunctionModel<com.waln.authority.organization.args.RemoveUser> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// model.getArgs() 没有定义输出参数
		return null;
	}

	/**
	 * 查询已经安装的所有 App 的列表。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 App 列表，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson apps(pittypat.FunctionModel<com.waln.authority.organization.args.Apps> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回App 列表
		return model.isSuccess() ? model.getArgs().list : null;
	}

	/**
	 * 查询隶属于指定 App 的模块的列表。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 操作成功返回 模块列表，否则返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson modules(pittypat.FunctionModel<com.waln.authority.organization.args.Modules> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// 如果操作成功，返回模块列表
		return model.isSuccess() ? model.getArgs().list : null;
	}

	/**
	 * 为指定的部门、岗位或用户添加一个权限。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 没有输出参数，默认总是返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson grant(pittypat.FunctionModel<com.waln.authority.organization.args.Grant> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// model.getArgs() 没有定义输出参数
		return null;
	}

	/**
	 * 删除一个权限。
	 * 
	 * @param model
	 *            功能模型对象，其中包含了功能的参数列表、执行状态以及相关消息。
	 * @param progress
	 *            跟踪和汇报异步操作的进度。
	 * 
	 * @return pittypat.IJson 没有输出参数，默认总是返回 null。
	 * 
	 * @throws IllegalArgumentException
	 * @throws IllegalAccessException
	 * @throws ClassNotFoundException
	 * @throws InstantiationException
	 * @throws SQLException
	 * @throws PropertyVetoException
	 * @throws ConfigException
	 * @throws SecurityException
	 * @throws NoSuchMethodException
	 * @throws InvocationTargetException
	 * @throws UnsupportedEncodingException
	 * 
	 * @see pittypat.IJson
	 * @see pittypat.FunctionModel
	 * @see pittypat.IAsyncProgress
	 */
	public pittypat.IJson revoke(pittypat.FunctionModel<com.waln.authority.organization.args.Revoke> model,
			pittypat.IAsyncProgress progress) throws IllegalArgumentException, IllegalAccessException,
			InstantiationException, ClassNotFoundException, java.sql.SQLException, java.io.UnsupportedEncodingException,
			java.lang.reflect.InvocationTargetException, NoSuchMethodException, SecurityException,
			pittypat.configuration.ConfigException, java.beans.PropertyVetoException {
		// 执行数据操作
		this.getDataService().exec(model, progress);

		// model.getArgs() 没有定义输出参数
		return null;
	}
}
